import json


def extract_and_write_json(input_file, output_file, interval):
    with open(input_file, 'r', encoding='utf-8') as infile, open(output_file, 'w', encoding='utf-8') as outfile:
        # 读取文件内容，但不一次性加载到内存中
        for i, line in enumerate(infile):
            # 跳过空行和不符合JSON格式的行
            if not line.strip():
                continue
            try:
                # 尝试将当前行解析为JSON对象
                item = json.loads(line.strip())
                # 如果达到了间隔要求，则将该对象写入输出文件
                if i % interval == 0:
                    # 序列化JSON对象为字符串，并写入文件（每个对象一行）
                    outfile.write(json.dumps(item, ensure_ascii=False) + '\n')
            except json.JSONDecodeError:
                print(f"Error decoding JSON on line {i + 1}")

            # 调用函数，假设input.json是原始文件，output.json是输出文件，interval是提取间隔


extract_and_write_json('data/medical.json', 'data/medical_part.json', 50)
# 还需要提取后手动替换"recommand"为"recommend", "acompany"为"accompany"